package tuHU;
import java.util.*;
/**
 * Description:
 * Author:    Dane
 * CreateTime:2024/10/24-下午7:18
 * Since  :   1.0
 * Version:   1.0
 */



public class solutaion {
    public static int build (int d, int i, int g) {
      int max=Math.max(d,i);
      max=Math.max(max,g);
      int min=Math.min(d,i);
      min=Math.min(min,g);
      int mid=d+i+g-max-min;
      int target=min+mid;
      if (target<=(max/2-1)){
          return 3*target+2;

      }
      return d+i+g;





    }
public static ArrayList<String> fetchTireSize (int[] tw, int[] ta, int[] tr, String query) {
    ArrayList<String> stringTw = new ArrayList<>();
    ArrayList<String> stringTa = new ArrayList<>();
    ArrayList<String> stringTr = new ArrayList<>();

    for(int i:tw){
        stringTw.add(""+i);
    }
    for(int i:ta){
        stringTa.add(""+i);
    }
    for(int i:tr){
        stringTr.add(""+i);
    }
    int count=0;
    ArrayList<Integer> indexs = new ArrayList<>();
    for (int i = 0; i < query.length(); i++) {
        if (query.charAt(i)=='马'||query.charAt(i)==','){
            indexs.add(i);
            count++;
        }
    }

    if (count==1){
        ArrayList<String> strings = new ArrayList<>();
        strings.add(fetchTireSize2(stringTw,stringTa,stringTr,query));
        return strings;
    }
    ArrayList<String> strings = new ArrayList<>();
    int j=0;
    while (j<count){
        int i = indexs.get(j);
        String my=query.substring(i,query.length());
        if (fetchTireSize2(stringTw,stringTa,stringTr,my)!=null) {
            strings.add(fetchTireSize2(stringTw,stringTa,stringTr,my));
        }
        j++;
    }
    return  strings;




}




    public static String fetchTireSize2 ( ArrayList<String> stringTw , ArrayList<String> stringTa,  ArrayList<String> stringTr, String query) {
     int index=0;

        for (int i = 0; i < query.length(); i++) {
            if (query.charAt(i)>'0'&&query.charAt(i)<='9'){
                index=i;
                break;
            }
        }
        String tw=query.substring(index,index+3);
        if (!stringTw.contains(tw)){
            return null;
        }
        int index2=index+3;
        String ta="";
        if (query.charAt(index2)>'0'&&query.charAt(index2)<='9'){
            ta=query.substring(index2,index2+2);
        }else {
            index2+=1;
            ta=query.substring(index2,index2+2);
        }
        if (!stringTa.contains(ta)){
            return null;
        }
        int index3=index2+2;
        String tr="";
        if (query.charAt(index3)=='r'||query.charAt(index3)=='R'){
            tr=query.substring(index3+1,index3+3);
        }else {
           tr=query.substring(index3,index3+2);
        }
        if (!stringTr.contains(tr)){
            return null;
        }
        return tw+"/"+ta+"R"+tr;





    }

    public static void main(String[] args) {
//        System.out.println(build(1,1,7));
//        int tw[] = {225, 235, 245, 255};
//        int ta[] = {40, 45, 50, 55, 60};
//        int tr[] = {15, 16, 17, 18, 19};
//        String s = "马牌22555r16,马牌22555r17";
//        fetchTireSize(tw, ta, tr, s);

        String s="char";
        String t="car";
        System.out.println(test2(s,t));
    }

//    public static Boolean test(String s,String t){
//        if (Math.abs(s.length()-t.length())>2){
//            return false;
//        }
//        int[] nums = new int[26];
//        for (char c:s.toCharArray()){
//            nums[c-'a']++;
//        }
//        for (char c:t.toCharArray()){
//            nums[c-'a']--;
//        }
//        int count1=0;
//        int count2=0;
//        for (int i:nums){
//            if (i>=2){
//                return false;
//            }
//
//            if (i==1){
//                count1++;
//            }
//            if (i==-1){
//                count2++;
//            }
//        }
//        if (count1>=2||count2>=2){
//            return false;
//        }
//        return true;
//
//    }

    public static Boolean test2(String s,String t){
        if (Math.abs(s.length()-t.length())>=2){
            return false;
        }
        if (s.contains(t)){
        return (s.length()-t.length())<=1;

        }else if(t.contains(s)){
            return (t.length()-s.length())<=1;
        }else {

            if (s.length()==t.length()){
                int count=0;
                int i=0;
                while (i<s.length()){
                    if (s.charAt(i)!=t.charAt(i)){
                        count++;
                    }
                    i++;
                }
                return count<=1;

            }

           if (s.length()>t.length()){
               int i=0;
               while (i<=t.length()){
                   if (s.charAt(i)==t.charAt(i)){
                       i++;
                   }else {
                       break;
                   }
               }
               char c=s.charAt(i);
             String  myT=t.substring(0,i)+c+t.substring(i,t.length());
             return s.equals(myT);

           }
            if (t.length()>s.length()){
                int i=0;
                while (i<=s.length()){
                    if (s.charAt(i)==t.charAt(i)){
                        i++;
                    }else {
                        break;
                    }
                }
                char c=t.charAt(i);
                String  myT=s.substring(0,i)+c+s.substring(i,s.length());
                return t.equals(myT);

            }



        }
        return false;

    }



}
